package com.zhuiYun.project.api.menu.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/** 菜单管理模型
 * @Author dongdong
 * @Date 2023/4/3 19:46
 **/
@Data
@ApiModel("菜单模型")
public class MenuModel implements Serializable {
    /**
     * 梁栋
     */
    @ApiModelProperty("主键id新增时无需填写")
    private Integer id;
    /**
     * 菜单名称
     */
    @ApiModelProperty("菜单名称")
    @NotBlank(message = "菜单名称不能为空")
    private String menuName;
    /**
     * 路径
     */
    @ApiModelProperty("点击菜单要跳的路径")
    private String menuPath;
    /**
     * 父id
     */
    @ApiModelProperty("该菜单的父菜单id")
    private Integer parentId;
    /**
     * 父名称
     */
    @ApiModelProperty("该菜单的父菜单id")
    private String parentName;
    /**
     * 别名
     */
    @ApiModelProperty("该菜单的别名")
    @NotBlank(message = "菜单别名不能为空")
    private String menuAlias;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    @ApiModelProperty("该菜单的创建时间")
    private Date createTime;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    @ApiModelProperty("该菜单的修改时间")
    private Date updateTime;
    /**
     * 删除标志
     */
    @ApiModelProperty("该菜单的删除标志")
    private Integer delFlag;
    /**
     * 菜单类型
     */
    @ApiModelProperty("菜单类型")
    private Integer menuType;
}